package com.scy.java.Array;
//数值型数组特征值统计
public class ArrayDemo1 {
    public static void main(String[] args) {
//        arrayElementSum();
//        arrayMax();
        allMaxIndex();

    }
    //找最大值及其所有最值的下标
    public static void allMaxIndex(){
        int[] arr = {4,9,6,9,3,1};
        //找最大值
        //假设arr数组中的第一个元素是最大值
        int max = arr[0];
        int index = 0;
        for (int i = 0; i < arr.length; i++) {
            if (max<arr[i]){
                //重新赋值
                max = arr[i];
            }
        }
        System.out.println("最大值是："+max);
//        System.out.println("下标为"+index);
        //使用循环遍历输出所有最大值的下标
        for (int j = 0; j < arr.length; j++) {
            if (max == arr[j]){
                System.out.print("最大值的下标为："+j+"\t");
            }
        }
    }
    //求数组的最大值及对应的下标
    public static void arrayMax(){
        int[] arr = {4,5,6,9,1};
        //假设arr数组中的第一个元素是最大值
        int max = arr[0];
        //index为最大值的下标
        int index = 0;
        //此处i从1开始，是因为max不需要跟arr[0]比较一次
        for (int i = 1; i < arr.length; i++) {
            if (arr[i]>max){
                max = arr[i];
                index=i;
            }
        }
        System.out.println("数组中的最大值为："+max+"\n对应的下标为："+index);
    }
    //求和均值
    public static void arrayElementSum(){
        int[] arr = {4,5,6,9,1};
        int sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum+=arr[i];
        }
        double avg = sum/arr.length;
        System.out.println("总和为："+sum);
        System.out.println("平均值为："+avg);
    }

}
